home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
X Dome 9
/
X-Dome_9_1999-07_Raiders_of_the_Lost_Empire_BE.d64
/
kill all speeder
/
x9c.asm
< prev
Wrap
Assembly Source File
|
1999-06-14
|
38KB
|
2,652 lines
; nOW THAT THIS MAGSYSTEM WILL NOT BE USED AGAIN FOR x-dOME, i
; RELEASE THE SOURCE CODE. i KNOW THAT THE SYSTEM IS AWFULLY
; OUTDATED AND PROBABLY NOBODY WILL EVER BE ABLE TO MAKE USE
; OF THIS CODE. bUT THERE WERE STILL SOME BLOCKS FREE ON x-dOME 9
; SO i DECIDED TO PUT THE asm CODE ON IT. iT CAN BE ASSEMBLED
; BY mxass 0.28 OR LATER (HTTP://MXASS.HOME.PAGES.DE).
; aS YOU CAN SEE, THERE IS A LOT OF DEAD AND PATCHED CODE IN IT -
; BUT IT WORKS! aND i HOPE YOU WILL GET ALONG WITH THE gERMAN
; COMMENTS - REMEMBER THAT i WROTE THIS FOUR YEARS AGO, WHEN i WAS
; 16! bTW, THE CHARSET IS ibm-ascii (ms-dos).
; sEE FILE copying FOR THE LICENSE.
; mICHAEL sTEIL <MIST@C64.ORG> 14.06.99
.LA LOGOCOL=11
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; x-dOME #9
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; mEN
; 22.-27.07.1995
; 15.,16.08.95
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; tEXTANZEIGER FR x-dOME
; 09.07.1995
; 10.07.1995
; 13.07.1995
; uMSCHGESCHRIEBEN VON $35 NACH $37
; => bANK 1
; 14.07.1995
; sCHNELLADER
; 15.07.1995
; 25.07.1995
; 11.08.1995 eNTPACKER
; 12.,13.,14.,15.08.1995
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; vERBESSERUNGEN FR aUSGABE #2
; 21.,22.09.1995 fLASH-8
; 09.10.1995
; 31.10.,01.11.1995
; 02.11.1995 kOALA
; 04.11.1995 mUSIC mENU, 2*SELBE rUBRIK
; pOSITIONSBALKEN
; 12.11.1995
; 14.11.1995 sPRITE-aNIMATION
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; vERBESSERUNGEN FR aUSGABEN #3-#4
; WURDEN IM oBJECTCODE ERLEDIGT. eS
; HANDELTE SICH LEDIGLICH UM KLEINERE
; aNPASSUNGEN
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; vERBESSERUNGEN FR aUSGABE #5
; 08.07.1996 pORTIERUNG AUF x-aSS,
; tEXTANZEIGER SCHLUCKT AUCH
; tEXTE MIT FALSCHER eNDADR.
; lNGENOPTIMIERUNG
; 11.-13.07.1996 reu-ram-dISK
; 13.07.1996 nEUE lOAD-aNIMATION
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; vERBESSERUNGEN FR aUSGABE #6
; 29.11.1996 bUGFIX: fLICKER BEI fld
; SCHNELLEREN lADER EINGEBAUT
; 30.11.1996 bUGFIX: fLICKER BEI sTART
; aUSFLASHEN VON loading
; eINFLASHEN DES lOGOS
; lOGOS WERDEN OBEN NICHT MEHR
; ABGESCHNITTEN (->RUBYPIXELS)
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
; vERBESSERUNGEN FR aUSGABEN #7 BIS 9
; KEINE ;-)
; ABER IM hERBST KOMMT SOWIESO EIN NEUES
; mAGSYSTEM...
.BA $9000
.PETSCII
.LO "MAIN.PRG",$0800
.LA ZAKS=7
.LA SCREENLINES=210
; FR mEN
.LA CY=32
.LA CX=33
.LA REUPOS=34; + 35
.LA BARCOLOR=36
.LA SCROLL=37
.LA FLDINDEX=38
.LA D011INHALT=39
.LA SCROLLUP=40
.LA SUBZP=41 ; + 42
.LA SCREENZP=43
.LA COLINDEX=45
.LA FIRE=46
.LA FLASHCOLOR=47
.LA SUBTAB=48
.LA COLINDEX2=50
; 51 BIS 54 FREI
; 55 BIS 64 RESERVIERT FR fASTLOADER
.LA STOPMUSIC=65
.LA STOPMUSICCOUNTER=66
.LA VOLUME=67
.LA NOCHMALFLAG=68
.LA LASTTRK=69
.LA LASTSEC=70
.LA FADESCREEN=71
.LA FADECOUNTER=72
.LA FADESTEP=73
.LA BACKTOSUBFLAG=74
.LA LOADSPRITE=75
.LA OPOSY=76
.LA FLD2=77
.LA LUMCHANGE=78 ; FRS fADEN VON lOGOS
.LA PRINTZP=79 ; vEKTOR BEI aUSGABE VON " loading " / "turn disk"
.LA OBEN=61
.LA UNTEN=249
.LA LINKS=24
.LA RECHTS=62
.LA MAXSPEED=2
.LA RASTER1=$FA
.LA RASTER2=41
.LA BORDER=0
.LA SUBCOL=15
.LA STOPMUSICSPEED=11
.LA FADESPEED=3
.LA MSCREEN=$0C00
.LA MCOLORS=$8800
.LA SCREENRAM=$0400
.LA SUBMENUS=$5000
.LA MUSICMENU=$8C00
.LA SCHNITTSTELLE=17
; FR rUBRIKEN
.LA SAVEX=2
.LA SAVEY=3
.LA FLD=4
.LA TEXTPTR=5 ; + 6
.LA SHOWLASTFLAG=7
.LA ADDSPEED=8
.LA JOYFLAG=9
.LA FL25HZ=10
.LA SAVEDD011=11
.LA TEXTENDE=12 ; + 13
; .LA MOVE=14
.LA TXTTRK=17
.LA TXTSEC=18
.LA PICTRK=19
.LA PICSEC=20
.LA LOADCNT=23
.LA ENDFLAG=24
.LA FILEEND=25 ;+26
.LA LASTFIRE=27
.LA HALF=28
.LA LOADADDRESS=$80 ; + $81
.LA RSCREEN=$4400
.LA TEXT=$A000
.LA PICSCREEN=$7F40
.LA COLRAM=PICSCREEN+1000
.LA BITMAP=$6000
.LA SPRITERAM=$7000
.LA RAMDISKBUFFER=$0400
.LA BUFFER=$0400
.LA LINE=8
.LA TOLERANZ=20
.LA MAXSPEED1=$FB
.LA MAXSPEED2=5
.LA TRAEGHEIT=3
.LA BASIS1=47
.LA BASIS2=57
.LA RUBYPIXELS=0 ; aNZAHL DER pIXEL, UM DIE DER rUBI-sCREEN NACH UNTEN
; VERSCHOBEN WIRD (-> KEIN vERDECKEN DER lOGOS DURCH
; bORDER)
.LA LOADSOURCE=$9FFF
MENU:
LDA #$37
STA 1
LDA #15
STA VOLUME
STA $D418
LDA #0
TAX
TAY
JSR $1000
LDA #$B7
STA 1
LDA #0
STA LASTTRK
STA LASTSEC
STA BACKTOSUBFLAG
MENU2:
LDA #200
STA FLD
;LDA #<RTI
;LDY #>RTI
;STA $0318
;STY $0319
SEI
LDA #<IRQ1
STA $0314
LDA #>IRQ1
STA $0315
LDA #$F1
STA $D01A
LDA #RASTER1
STA $D012
LDA $D011
AND #%01111111
ORA #%01100000 ; sCREEN AUSSCHALTEN, SONST FLASHT ER KURZ AUF!
STA $D011
LDA #$7F
STA $DC0D
STA $DD0D
BIT $DC0D
BIT $DD0D
LDA $D019
STA $D019
CLI
LDA #0
STA CY
STA CX
STA HALF
STA SCROLL
STA SCROLLUP
STA COLINDEX
STA COLINDEX2
STA FIRE
STA LASTFIRE
STA FADESCREEN
STA LOADSPRITE
STA $D010
STA $D017
STA $D01B
STA $D01C
STA $D01D
LDA #1
STA 53269
LDA #1
STA 53287
LDA #$A0
STA $D000
STA $D001
LDA #$FF
STA $3FFF
LDX #0
COPSPR1:
LDA PFEILSPRITE,X
STA $0340,X
INX
CPX #64
BCC COPSPR1
LDA #$97
STA $DD00
MAINMENU:
LDA #12
STA $D021
LDA #13
STA MSCREEN+$03F8
LDA BACKTOSUBFLAG
BEQ NTOSUBMENU
LDA OSUBZP
STA SUBZP
LDA OSUBZP+1
STA SUBZP+1
LDA OSUBTAB
STA SUBTAB
LDA OSUBTAB+1
STA SUBTAB+1
LDA #0
STA BACKTOSUBFLAG
LDA OPOSY
STA $D001
JMP TOSUBMENU
NTOSUBMENU:
LDX #0
COPCOL:
LDA MCOLORS,X
STA $D800,X
LDA MCOLORS+$0100,X
STA $D900,X
LDA MCOLORS+$0200,X
STA $DA00,X
LDA MCOLORS+$0300,X
STA $DB00,X
LDA MSCREEN,X
STA SCREENRAM,X
LDA MSCREEN+$0100,X
STA SCREENRAM+$0100,X
LDA MSCREEN+$0200,X
STA SCREENRAM+$0200,X
LDA MSCREEN+$0300,X
STA SCREENRAM+$0300,X
DEX
BNE COPCOL
LDA $D016
ORA #%00010000
STA $D016
LDA #25
STA $D018
; LDA #13
; STA 2040
LDA #%00111000
STA D011INHALT
; LDA #200
; STA FLD
LDA #0
STA FLDINDEX
INC SCROLLUP
WFSCRUP:
LDA SCROLLUP
BNE WFSCRUP
LDA #0
STA FIRE
ZZZ:
LDA $D001
CMP #60
BCC DANEBEN
CMP #160
BCS DANEBEN
LDA $D010
AND #1
BEQ NMUS1
LDA $D000
CMP #40
BCC NMUS1
LDX #0
LDA #>MUSICMENU
BNE JP
NMUS1:
LDA $D001
CMP #115
BCS MENUEUNTEN
LDA $D010
AND #1
BNE MENUERECHTS1
LDA $D000
CMP #160
BCS MENUERECHTS1
LDA #>SUBMENUS
LDX #<FILETAB
LDY #>FILETAB
BNE JP
MENUERECHTS1:
LDA #>SUBMENUS+$04 ;00 !!!
.LA FILETAB48=FILETAB+48 ; !!!
LDX #<FILETAB48
LDY #>FILETAB48
BNE JP
MENUEUNTEN:
LDA $D010
AND #1
BNE MENUERECHTS2
LDA $D000
CMP #160
BCS MENUERECHTS2
LDA #>SUBMENUS+$08 ;00 !!!
.LA FILETAB96=FILETAB+96 ; !!!
LDX #<FILETAB96
LDY #>FILETAB96
BNE JP
MENUERECHTS2:
LDA #>SUBMENUS+$0C ;00 !!!
.LA FILETAB144=FILETAB+144 ; !!!
LDX #<FILETAB144
LDY #>FILETAB144
BNE JP
DANEBEN:
LDA #0
STA FIRE
JP:
BEQ ZZZ ; DANEBEN
STA SUBZP+1
LDA #0
STA SUBZP
STX SUBTAB
STY SUBTAB+1
LDA FIRE
BEQ ZZZ
LDA #0
STA FLDINDEX
INC SCROLL
WAITFORSCROLLEND:
LDA SCROLL
BNE WAITFORSCROLLEND
LDA SUBZP
STA OSUBZP
LDA SUBZP+1
STA OSUBZP+1
LDA SUBTAB
STA OSUBTAB
LDA SUBTAB+1
STA OSUBTAB+1
TOSUBMENU:
LDA #BORDER
STA $D021
LDX #27
NOFLICKER:
STA $D800,X
DEX
BPL NOFLICKER
LDA #%01111000 ; bILDSCHIRM SCHWARZ
;LDA #%00011000
STA D011INHALT ;mist
LDA #18
STA $D018
LDA $D016
AND #%11101111
STA $D016
LDX #0
LDA #SUBCOL
STORECOLRAM1:
STA $D800,X
STA $D900,X
STA $DA00,X
STA $DB00,X
DEX
BNE STORECOLRAM1
LDA #<SCREENRAM
STA SCREENZP
LDA #>SCREENRAM
STA SCREENZP+1
LDX #4
LDY #0
COPYSUBMENU:
LDA (SUBZP),Y
STA (SCREENZP),Y
INY
BNE COPYSUBMENU
INC SUBZP+1
INC SCREENZP+1
DEX
BNE COPYSUBMENU
LDA #13
STA 2040 ; SPR!
LDA #%00011000
STA D011INHALT
LDA #0
STA FLDINDEX
INC SCROLLUP
WFSCRUP2:
LDA SCROLLUP
BNE WFSCRUP2
LDA #0
STA FIRE
; AUSW!!!!!!!!!!!
SUBJOY:
LDA $D001
SEC
SBC #60
LSR
LSR
LSR
LSR
TAX
TAY
LDA #<$D800
STA SCREENZP
STA SUBZP
LDA #>$D800
STA SCREENZP+1
STA SUBZP+1
CPX #0
BEQ CALCLINEEND
CALCLINELOOP:
LDA SCREENZP
CLC
ADC #80
STA SCREENZP
BCC KU4711
INC SCREENZP+1
KU4711:
DEX
BNE CALCLINELOOP
CALCLINEEND:
TYA
PHA
BEQ KEINSTOREOBEN
LDY #0
LDA #SUBCOL
STOREOBEN:
STA (SUBZP),Y
INC SUBZP
BNE KU4712
INC SUBZP+1
KU4712:
LDX SUBZP
CPX SCREENZP
BNE STOREOBEN
LDX SUBZP+1
CPX SCREENZP+1
BNE STOREOBEN
KEINSTOREOBEN:
LDY #79
LDA FLASHCOLOR
FLASHLINE:
STA (SCREENZP),Y
DEY
BPL FLASHLINE
LDA SCREENZP
CLC
ADC #80
STA SCREENZP
BCC KU4713
INC SCREENZP+1
KU4713:
LDY #0
STOREUNTEN:
LDA #SUBCOL
STA (SCREENZP),Y
INC SCREENZP
BNE STOREUNTEN
INC SCREENZP+1
LDA SCREENZP+1
CMP #$DC
BNE STOREUNTEN
PLA
LDX FIRE
BNE NSUBJOY
JMP SUBJOY
NSUBJOY:
LDX #0
STX FLDINDEX
INC SCROLL
WFSCR:
LDX SCROLL
BNE WFSCR
PHA
LDA SUBTAB
BEQ ISTMUSICMENU
PLA
ASL
ASL ;MAL 4
CLC
ADC SUBTAB
STA SUBTAB
BCC KU4800
INC SUBTAB+1
KU4800:
LDY #3
COPYFILETAB:
LDA (SUBTAB),Y
STA SCHNITTSTELLE,Y
DEY
BPL COPYFILETAB
CMP #0
BNE NICHTLEER
MM1:
JMP MAINMENU
NICHTLEER:
LDA $D001
STA OPOSY
JMP RUBRIKEN
ISTMUSICMENU:
PLA
SEC
SBC #2 ; (zEILE VON zak #1 (0-12)) -1
BCC MM1
BEQ MM1
CMP #ZAKS+1
BCS MM1
SEC
SBC #1
ASL
TAY
LDA MUSICTS+1,Y
TAX
LDA MUSICTS,Y
PHA
SEI
LDA #<MUSICIRQ
STA $0314
LDA #>MUSICIRQ
STA $0315
LDA #0
STA $D012
LDA $D011
ORA #$80
STA $D011
LDA #$F1
STA $D01A
LDA #$7F
STA $DC0D
BIT $DC0D
LDA #STOPMUSICSPEED
STA STOPMUSICCOUNTER
LDA #0
STA VOLUME
LDA #0
STA STOPMUSIC
CLI
LDA #0
STA $D011
STA $D015
LDA #$C6
STA $DD00
LDA #$00
STA LOADADDRESS
LDA #$F0
STA LOADADDRESS+1
PLA
JSR LOAD
LDA #$F0
STA REUPOS+1
LDA #$10
STA SUBZP+1
LDY #0
STY REUPOS
STY SUBZP
SEI
STY 1
LDX #$10
COPYMUSIC:
LDA (REUPOS),Y
STA (SUBZP),Y
INY
BNE COPYMUSIC
INC REUPOS+1
INC SUBZP+1
DEX
BNE COPYMUSIC
LDY #24
CLRSID:
STA $D400,Y
DEY
BPL CLRSID
JMP MENU
IRQ1:
LDA ($00,X)
LDA ($00,X)
NOP ; 14 zYKLEN
LDA BARCOLOR
LDX #BORDER
STA $D020
LDY #11
NOP1:
DEY
BNE NOP1
BIT $EA ; 59 zYKLEN
STX $D020
JSR JOY
LDA HALF
EOR #1
STA HALF
BNE HALF1
JSR JOY
HALF1:
LDA $D001
CLC
ADC CY
CMP #OBEN
BCS CYOK1
LDA #OBEN
CYOK1:
CMP #UNTEN
BCC CYOK2
LDA #UNTEN
CYOK2:
STA $D001
LDA CX
BMI CXMINUS
LDA $D000
CLC
ADC CX
BCC KEINMSB
SCHONMSB:
TAX
LDA $D010
EOR #1
STA $D010
TXA
JMP KEINMSB
CXMINUS:
LDA $D000
CLC
ADC CX
BCC SCHONMSB
KEINMSB:
TAX
LDA $D010
AND #1
BNE RECHTEHAELFTE
TXA
CMP #LINKS
BCS CXOK
LDA #LINKS
BNE CXOK
RECHTEHAELFTE:
TXA
CMP #RECHTS
BCC CXOK
LDA #RECHTS
CXOK:
STA $D000
LDA CX
JSR INTDEC
STA CX
LDA CY
JSR INTDEC
STA CY
LDA D011INHALT
STA $D011
JSR PLAYMUSIC
LDA #RASTER2
LDX #<IRQ2
LDY #>IRQ2
IRQEND:
STA $D012
STX $0314
STY $0315
LDA $D011
AND #%01111111
STA $D011
IRQRETURN:
LDA $D019
STA $D019
JMP $EA81
JOY:
LDA #0
STA $DC00
LDY $DC01
LDX #$7F
STX $DC00
CPY #251
BEQ JRIGHT
CPY #235
BEQ JLEFT
CPY #127
BEQ JDOWN
CPY #111
BEQ JUP
; CPY #239
; BEQ JFIRE
CPY #253
BEQ JFIRE
LDA $DC00
TAX
AND #1
BNE NICHTOBEN
JUP:
DEC CY
NICHTOBEN:
TXA
AND #2
BNE NICHTUNTEN
JDOWN:
INC CY
NICHTUNTEN:
TXA
AND #4
BNE NICHTLINKS
JLEFT:
DEC CX
NICHTLINKS:
TXA
AND #8
BNE NICHTRECHTS
JRIGHT:
INC CX
NICHTRECHTS:
TXA
AND #16
BNE NICHTFIRE
JFIRE:
LDA LASTFIRE
INC LASTFIRE
CMP #0
BEQ FIREEND
INC FIRE
NICHTFIRE:
LDA #0
STA LASTFIRE
FIREEND:
RTS
INTDEC:
BEQ RTS
BMI INTDEC1
CMP #MAXSPEED+1
BCC INTDEC2
LDA #MAXSPEED
RTS
INTDEC2:
SEC
SBC #1
RTS:
RTS
INTDEC1:
CMP #255-MAXSPEED
BCS INTDEC3
LDA #256-MAXSPEED
INTDEC3:
CLC
ADC #1
RTS
IRQ2:
LDA D011INHALT
STA $D011
LDY $D021 ;!!
LDA FLD
BEQ FLDEND
LDA #0
STA $D021
LDX #0
FLDLOOP:
CLC
LDA $D011
ADC #1
AND #7
ORA D011INHALT
; ORA #%01100000;mist
STA $D011
NOP
NOP
JSR RTS
JSR RTS
; BIT $00
NOP
LDA $D012
CMP #$F3
BEQ FLDEND
INX
CPX FLD
BNE FLDLOOP
JMP SKIPNOFLD
FLDEND:
LDA $D011
; LDA D011INHALT
AND #%11110000 ; aUFBAU DER zEILE ZULASSEN
;AND #%10000000 ; aUFBAU DER zEILE ZULASSEN
ORA #%00001011
STA $D011
SKIPNOFLD:
; STY $D021 ;!!
LDA FLD
CMP #185
BCC NSCROFF
LDA $D011
ORA #%01110000
; STA $D011 mist!
NSCROFF:
;LDA $D021
;PHA
LDX #BORDER
LDA #0
STA $3FFF
LDA BARCOLOR
LDY $D012
WFNL:
CPY $D012
BEQ WFNL
STA $D020
STA $D021
LDY #9
NOP2:
DEY
BNE NOP2
NOP ; 48 zYKLEN
STX $D020
STX $D021
LDA #$FF
STA $3FFF
;PLA
LDA D011INHALT
AND #$20
BEQ BGCOL1
LDA #12
.BY $2C
BGCOL1:
LDA #0;mist!
STA $D021
LDA SCROLL
BEQ KEINSCROLL
LDX FLDINDEX
LDA #SCREENLINES
SEC
SBC SINUS2,X
STA FLD
INX
STX FLDINDEX
CPX #25
BCC FLDINDEXOK
LDA #0
STA SCROLL
FLDINDEXOK:
KEINSCROLL:
LDA SCROLLUP
BEQ KEINSCROLLUP
LDX FLDINDEX
LDA #SCREENLINES
SEC
SBC SINUS1,X
STA FLD
INX
STX FLDINDEX
CPX #25
BCC FLDINDEXOK2
LDA #0
STA SCROLLUP
FLDINDEXOK2:
KEINSCROLLUP:
LDX COLINDEX
LDA COLTAB,X
STA BARCOLOR
LDA COLTAB2,X
STA FLASHCOLOR
INX
CPX #8+6
BCC COLINDEXOK
LDX #0
COLINDEXOK:
STX COLINDEX
LDA HALF
BNE NFLASHMOUSE
LDX COLINDEX2
LDA COLTAB3,X
STA $D027
INX
CPX #14
BNE COLOR3
LDX #0
COLOR3:
STX COLINDEX2
NFLASHMOUSE:
LDA #RASTER1
LDX #<IRQ1
LDY #>IRQ1
JMP IRQEND
RTI:
RTI
;DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
RUBRIKEN:
LDA LASTTRK
CMP TXTTRK
BNE NICHTNOCHMAL
LDA LASTSEC
CMP TXTSEC
BNE NICHTNOCHMAL
LDA #1
.BY $2C
NICHTNOCHMAL:
LDA #0
STA NOCHMALFLAG
LDA TXTTRK
STA LASTTRK
LDA TXTSEC
STA LASTSEC
LDA #0
STA $D015
LDX #<MUSICIRQ
LDY #>MUSICIRQ
SEI
STX $0314
STY $0315
LDA #0
STA $D012
LDA $D011
; sCREEN ANLASSEN!
AND #%01010000 ; AUCH ERWEITERTEN fARBTEXT-mODUS AUS -> bILD SICHTBAR
ORA #%11000011
STA $D011
LDA #$F1
STA $D01A
LDA #$7F
STA $DC0D
BIT $DC0D
LDA #0
STA STOPMUSIC
LDA #15
STA VOLUME
LDA #FADESPEED
STA FADECOUNTER
LDA #0
STA FADESTEP
INC FADESCREEN
CLI
; BANK=1
LDA #$C6
STA $DD00
LDA #0
STA $D022
;LDA #$60
;LDX #0
;CLS:
;STA RSCREEN,X
;DEX
;BNE CLS
;LDX #104
;CLS2:
;STA RSCREEN+$FF,X
;DEX
;BNE CLS2
LDX #0
LDA #" "
CLS3:
STA RSCREEN,X ; mist
STA RSCREEN+$0100,X
STA RSCREEN+$0200,X
STA RSCREEN+$0300,X
DEX
BNE CLS3
; JSR PRINTLOADING
LDA #<TEXT
STA TEXTPTR
LDA #>TEXT
STA TEXTPTR+1
LDA #<TEXT
STA TEXTENDE
LDA #>TEXT
STA TEXTENDE+1
LDA #7
STA FLD
LDA #0
STA SHOWLASTFLAG
STA ADDSPEED
STA FL25HZ
STA HALF
JSR SETCOLRAM
LDA #1
STA $D015
LDA #0
STA $D01C
LDA #226
STA $D001
LDA #172
STA $D000
LDA #0
STA $D010
LDA #0
STA $47F8
LDA #7
STA $D027
INC LOADSPRITE
LDA NOCHMALFLAG
BEQ DOLOAD
JMP NN1
DOLOAD:
TESTSIDE:
; AUF RICHTIGE dISKSEITE TESTEN
;LDA #$00
;STA LOADADDRESS
;LDA #$c0
;STA LOADADDRESS+1
;LDA #$12
;LDX #$11
;JSR LOAD
; LDA $c000
; CMP #2
; BEQ SIDEOK
;
;; fLIP dISK mist
; JSR FADEOUT
; LDX #<TEXTFLIP
; LDY #>TEXTFLIP
; JSR PRINT
; JSR FADEIN
;
;WFKFLIP:
; LDA $DC01
; CMP #$FF
; BNE WFKFLIPEND
; LDA $DC00
; AND #$10
; BNE WFKFLIP
;WFKFLIPEND:
;
; JSR FADEOUT
; JSR PRINTLOADING
; JSR FADEIN
; JMP TESTSIDE
;SIDEOK:
LDA #<BITMAP
STA LOADADDRESS
LDA #>BITMAP
STA LOADADDRESS+1
LDA PICTRK
LDX PICSEC
JSR LOAD ; kOALA
LDA #<TEXT
STA LOADADDRESS
LDA #>TEXT
STA LOADADDRESS+1
LDA TXTTRK
LDX TXTSEC
JSR LOAD ; tEXT
; "loading" AUSBLENDEN
LDX #0
KILLLOADING1:
LDA FADECOLORS,X
LDY #0
KILLLOADING2:
; STA $DA00,Y
INY
BNE KILLLOADING2
LDA #$20
KILLLOADING3:
DEY
BNE KILLLOADING3
PHA
LDA $47F8
BNE NSPRITEEND
LDA #0
STA LOADSPRITE
STA $D015
NSPRITEEND:
PLA
SEC
SBC #1
BNE KILLLOADING3
INX
CPX #6
BNE KILLLOADING1
WAITFORSPRITEEND:
LDA $47F8
BNE WAITFORSPRITEEND
LDA #0
STA LOADSPRITE
LDX #0
LDA #15
KILLLOADING4:
; STA $DA00,X
DEX
BNE KILLLOADING4
; LDX #0
; TXA
;-:
; STA RSCREEN,X
; STA RSCREEN+$40,X
; DEX
; BNE -
NN1:
LDA #11
STA $D020
LDA $D011
AND #%10111111
STA $D011
; mist
LDX #$C0
LDA #0
-:
STA SPRITERAM-1,X
DEX
BNE -
LDX #5
LDA #$FF
-:
STA SPRITERAM,X
DEX
BPL -
LDX #2
LDA #$AA
-:
STA SPRITERAM+6,X
DEX
BPL -
LDX #20
LDA #$55
-:
STA SPRITERAM+$40+3,X
DEX
BPL -
LDX #2
LDA #$AA
-:
STA SPRITERAM+$40+24,X
DEX
BPL -
LDX #2
LDA #$FF
-:
STA SPRITERAM+$40+27,X
DEX
BPL -
LDX #17
LDA #$FF
-:
STA SPRITERAM+$80,X
DEX
BPL -
LDA #0
STA SPRITERAM+$80
STA SPRITERAM+$81
STA SPRITERAM+$82
STA SPRITERAM+$83
STA SPRITERAM+$84
STA SPRITERAM+$85
LDX 1
LDA #$B0
SEI
STA 1
LDA #" "
STA TEXT
STA TEXT+1
STX 1
CLI
LDA FILEEND
SEC
.LA SBC1=18*40 ; !!!
.LA SBC2=18*40-1 ; !!!
SBC #<SBC2
STA TEXTENDE
LDA FILEEND+1
SBC #>SBC2
STA TEXTENDE+1
SEI
JSR SHOWTEXT1
CLI
LDA #1
STA SHOWLASTFLAG
LDA #0
STA LASTFIRE
JSR STOREIRQ
; fARBEN EINBLENDEN
LDY #8
FADELOGOLOOP:
LDX #0
COPYCOL1:
LDA COLRAM,X
JSR CONVCOL4
STA $D800,X
LDA PICSCREEN,X
JSR CONVCOL8
STA RSCREEN,X
DEX
BNE COPYCOL1
.LA LINEMAL40MINUS1=LINEMAL40-1
LDX #<LINEMAL40MINUS1
COPYCOL2:
LDA COLRAM+$0100,X
JSR CONVCOL4
STA $D900,X
LDA PICSCREEN+$0100,X
JSR CONVCOL8
STA RSCREEN+$0100,X
DEX
BPL COPYCOL2
; LDX #0
; LDA #0
;-:
; DEX
; BNE -
; CLC
; ADC #1
; BNE -
CPY #0
BEQ FADELOGOEND
DEY
DEY
BPL FADELOGOLOOP
LDY #0 ; NOCH EINMAL MIT oRIGINALFARBEN
BEQ FADELOGOLOOP ; BRA
FADELOGOEND:
ENDLOS:
JMP ENDLOS
IRQA:
LDA $D011
STA SAVEDD011
LDA #$FF
STA 53269
STA $D01D
LDA #%11111110
STA $D01C
LDA #0
STA $D01B
LDA #%11000000
STA $D010
LDX #7
SPRL1:
LDA #193
STA $47F8,X
LDA #11
STA $D027,X
DEX
BPL SPRL1
LDX #0
LDA #111 ; y-pOSITION DER OBEREN rASTERBAR-sPRITES
SPRL2:
STA $D001,X
INX
INX
CPX #16
BNE SPRL2
LDA #24
STA $D002
LDA #66
STA $D004
LDA #114
STA $D006
LDA #162
STA $D008
LDA #210
STA $D00A
LDA #2
STA $D00C
LDA #50
STA $D00E
LDA #11
STA $D025
LDA #11
STA $D026
LDA #112
STA $D001
LDA #194
STA $47F8
LDA #12
STA $D027
LDA TEXTENDE+1
SEC
SBC #>TEXT
CMP #8
BCS TEXTGROSSGENUG
LDA #%11111110
STA 53269
JMP KEINPOSSPRITE
TEXTGROSSGENUG:
LDA TEXTPTR
STA $FA
LDA TEXTPTR+1
SEC
SBC #>TEXT
STA $FB
LDA TEXTENDE+1
SEC
SBC #>TEXT
STA $FC
; dIVISION NACH hOOGO
LDX #16
LDA #0
DIV1:
ASL $FA
ROL $FB
ROL
CMP $FC
BCC DIV2
SBC $FC
INC $FA
DIV2:
DEX
BNE DIV1
LDA $FA
STA $FC
LDA $FB
LSR
ROR $FC
LSR
ROR $FC
PHA
LDA $FC
CLC
ADC $FA
STA $FA
PLA
ADC $FB
STA $FB
LDA $FA
; CLC
; ADC #21
; BCC KUSPR
; INC $FB
;KUSPR:
STA $D000
LDA $D010
ORA $FB
STA $D010
KEINPOSSPRITE:
.LA LINEMAL8=LINE*8 ; !!!
.LA BASIS1PLUS8LINES=BASIS1+LINEMAL8 ; !!!
LDA #BASIS1PLUS8LINES
-:
CMP $D012
BNE -
; DEC$D020
LDY #13 ;14
NOP3:
DEY
BNE NOP3 ; 71 zYKLEN
; fld-rOUTINE
LDA FLD
CLC
ADC #RUBYPIXELS
AND #7
STA FLD2
LDA $D011
AND #%11110000
ORA #%01100000
ORA FLD2
STA $D011
LDA $D016
AND #%11101111
STA $D016
LDA #11
STA $D021
; sCREEN=$400,cHAR=$800
LDA #18
STA $D018
LDA $D011 ; SCHON MAL HO
AND #%10011111 ; SCREEN AN
STA $D011
LDX #57
-:
DEX
BNE -
LDA #$FF
STA $D01B
LDX #0
LDA #243
SPRL3:
STA $D001,X
INX
INX
CPX #16
BNE SPRL3
LDX #7
SPRL4:
LDA #11
STA $D027,X
LDA #192
STA $47F8,X
DEX
BPL SPRL4
LDA #195
STA $47F8
; jOYSTICK- UND aNZEIGE-rOUTINE
; LDA MOVE
; BNE NJOYENDE
; JMP JOYENDE
;NJOYENDE:
LDA SHOWLASTFLAG
BEQ KEINLASTFLAG
JSR SHOWTEXT2
LDA #0
STA SHOWLASTFLAG
KEINLASTFLAG:
LDX #0
LDA $DC00
AND #2
BEQ JOYDOWN
LDA $DC00
AND #1
BEQ JOYUP
LDA $DC00
AND #8
BEQ JOYRIGHT
LDA $DC00
AND #4
BEQ JOYLEFT
LDA $DC00
AND #16
BEQ JOYFIRE
LDA #0
STA $DC00
LDX $DC01
CPX #251
BNE NICHTJOYRIGHT
JOYRIGHT:
DEC ADDSPEED
LDA ADDSPEED
CMP #MAXSPEED1
BNE NICHTMAX1
INC ADDSPEED
NICHTMAX1:
INC JOYFLAG
NICHTJOYRIGHT:
CPX #235
BNE NICHTJOYLEFT
JOYLEFT:
INC ADDSPEED
LDA ADDSPEED
CMP #MAXSPEED2
BNE NICHTMAX2
DEC ADDSPEED
NICHTMAX2:
INC JOYFLAG
NICHTJOYLEFT:
CPX #127
BNE NJOYDOWN
JOYDOWN:
LDA #$FF
STA ADDSPEED
NJOYDOWN:
CPX #111
BNE NJOYUP
JOYUP:
LDA #1
STA ADDSPEED
NJOYUP:
CPX #253
BNE NFIRE
JOYFIRE:
LDA LASTFIRE
INC LASTFIRE
CMP #0
BEQ NFIRE2
INC BACKTOSUBFLAG
JMP MENU2
NFIRE:
LDA #0
STA LASTFIRE
NFIRE2:
LDA #$7F
STA $DC00
JSR SCROLL2
LDA JOYFLAG
BNE JOYENDE
LDA FL25HZ
CLC
ADC #1
CMP #TRAEGHEIT
BNE NICHTNULL
LDA #0
NICHTNULL:
STA FL25HZ
BNE JOYENDE
; LANGSAMER WERDEN
LDA ADDSPEED
BMI MINUSADDSPEED
BEQ JOYENDE
DEC ADDSPEED
JMP JOYENDE
MINUSADDSPEED:
INC ADDSPEED
JOYENDE:
LDA #0
STA JOYFLAG
JSR PLAYMUSIC
LDA $D011
BMI SCHONUNTEN
LDA $D012
CMP #BASIS1PLUS8LINES-TOLERANZ
BCC SCHONUNTEN
;*******
LDA #<IRQB
STA $0314
LDA #>IRQB
STA $0315
LDA $D011
ORA #$80
STA $D011
LDA #0
STA $D012
JMP IRQEND2
IRQB:
LDA $D011
AND #$7F
STA $D011
LDA #BASIS1PLUS8LINES-TOLERANZ
STA $D012
LDA #<IRQA
STA $0314
LDA #>IRQA
STA $0315
;*******
SCHONUNTEN:
LDA #LOGOCOL
STA $D021
LDA SAVEDD011
AND #%11111000
ORA #%00101000+RUBYPIXELS ; gRAFIK AN
; bILDSCHIRM BEI NCHSTEM aUFBAU VERSCHIEBEN
STA $D011
LDA $D016
ORA #%00010000
STA $D016
; sCREEN=$400,bITMAP=$2000
LDA #25
STA $D018
IRQEND2:
LDA $D019
STA $D019
JMP $EA81
WSHOWTEXT1:
; WARTEN, DAMIT NICHT WHREND
; aNZEIGE KOPIERT WIRD
LDA #170
WAIT1:
CMP $D012
BCS WAIT1
SHOWTEXT1:
LDA TEXTPTR
STA SFM1+1
LDA TEXTPTR+1
STA SFM1+2
.LA RSCREENPLUS40LINES=RSCREEN+LINEMAL40 ; !!!
LDA #<RSCREENPLUS40LINES
STA SFM2+1
LDA #>RSCREENPLUS40LINES
STA SFM2+2
LDX #0
JSR COPYPAGE
INC SFM1+2
INC SFM2+2
LDX #0
JMP COPYPAGE
SHOWTEXT2:
LDY TEXTPTR
DEY
STY SFM1+1
LDX TEXTPTR+1
INX
CPY #$FF
BEQ UEB1
INX
UEB1:
STX SFM1+2
.LA RSCREENPLUS40LINESPLUS511=RSCREENPLUS40LINES+511
LDA #<RSCREENPLUS40LINESPLUS511
STA SFM2+1
LDA #>RSCREENPLUS40LINESPLUS511
STA SFM2+2
LDX #488-LINEMAL40
; LAEUFT REIN
COPYPAGE:
LDA #$B0
STA 1
ST1:
SFM1:
LDA $FFFF,X
SFM2:
STA $FFFF,X
DEX
BNE ST1
LDA #$B7
STA 1
RTS
SCROLL2:
LDA FLD
CLC
ADC ADDSPEED
CMP #8
BCC KEINUEBERTRAG
BPL SCROLLNACHOBEN
AND #7
STA FLD
LDA TEXTPTR
CLC
ADC #40
STA TEXTPTR
BCC KUB
INC TEXTPTR+1
KUB:
LDA TEXTENDE+1
CMP TEXTPTR+1
BCC UEBERENDE
BNE NICHTUEBERENDE
LDA TEXTENDE
CMP TEXTPTR
BCS NICHTUEBERENDE
UEBERENDE: ; uSER IST BEIM sCROLLEN BER DAS tEXTENDE HINAUSGESCHOSSEN
LDA TEXTPTR
SEC
SBC #40
STA TEXTPTR ; zEILE WIEDER DEKREMENTIEREN
BCS UEBERENDE1
DEC TEXTPTR+1
UEBERENDE1:
LDA #0
STA ADDSPEED
STA FLD
NICHTUEBERENDE:
GOTOSHOW:
JSR WSHOWTEXT1
LDA #1
STA SHOWLASTFLAG
RTS
SCROLLNACHOBEN:
AND #7
STA FLD
LDA TEXTPTR
SEC
SBC #40
STA TEXTPTR
BCS KUA
DEC TEXTPTR+1
KUA:
LDA TEXTPTR+1
CMP #>TEXT
BCC UEBERANFANG
BNE NICHTUEBERANFANG
LDA TEXTPTR
CMP #<TEXT
BCS NICHTUEBERANFANG
UEBERANFANG:
LDA #<TEXT
STA TEXTPTR
LDA #>TEXT
STA TEXTPTR+1
LDA #0
STA ADDSPEED
LDA #7
STA FLD
NICHTUEBERANFANG:
JMP GOTOSHOW
KEINUEBERTRAG:
STA FLD
RTS
STOREIRQ:
LDX #<IRQA
LDY #>IRQA
SEI
STX $0314
STY $0315
LDA #BASIS1PLUS8LINES-TOLERANZ
STA $D012
LDA $D011
AND #%01110000
ORA #%00010000
STA $D011
LDA #$F1
STA $D01A
LDA #$7F
STA $DC0D
BIT $DC0D
CLI
RTS
MUSICIRQ:
LDA STOPMUSIC
BEQ MUSICIRQ1
DEC STOPMUSICCOUNTER
BNE MUSICIRQ1
LDA #STOPMUSICSPEED
STA STOPMUSICCOUNTER
DEC VOLUME
LDA VOLUME
BNE MUSICIRQ1
STA STOPMUSIC
MUSICIRQ1:
JSR PLAYMUSIC
LDA VOLUME
CMP #15
BEQ NLEISER
;LDA $D418
;AND #$F0
;ORA VOLUME
;STA $D418
NLEISER:
LDA FADESCREEN
BEQ NFADE
DEC FADECOUNTER
BNE NFADE
LDA #FADESPEED
STA FADECOUNTER
LDX FADESTEP
LDA FADECOLORS,X
STA $D021
STA $D020
INC FADESTEP
LDA FADESTEP
CMP #6
BNE NFADE
LDA #0
STA FADESCREEN
NFADE:
LDA LOADSPRITE
BEQ NLOADSPRITE
LDA HALF
CLC
ADC #1
STA HALF
AND #3
BNE NLOADSPRITE
INC $47F8
LDA $47F8
CMP #16
BCC NLOADSPRITE
LDA #0
STA $47F8
NLOADSPRITE:
LDA $D019
STA $D019
JMP $EA81
PLAYMUSIC:
LDA #$37
STA 1
LDA #0
TAX
TAY
JSR $1003
LDA #$B7
STA 1
RTS
; sCHNELLADER MIT aDV.sQUEEZER-eNTPACKER
; BRAUCHT fLOPPY-rOUTINE AUF tRACK 12, sECTOR 12.
;
; 20.-22.11.1994
; 13.07.1995 aNPASSUNG AN x-dOME
; 19.09.1996 aNPASSUNG AN tOOL-cOLLIE
; 29.11.1996 rE-aNPASSUNG AN x-dOME
LOAD:
;LDY LOADSOURCE
;BEQ LOAD1541
;; ram-dISK
;JSR GETPOS
;JMP UNPACK
;
;LOAD1541:
STA TRACKSFM+1
STX SECTORSFM+1
LDA #8
STA $BA
LDA #$0F
STA $B9
STA $B8
LDX #<ME
LDY #>ME
LDA #41 ;MAX. LAENGE
JSR $FDF9 ;FILNAM
JSR $F34A ;OPEN
;; lADEROUTINE
JSR STARTSECTOR
JSR UNPACK
LDA #$C6
STA $DD00
LDA #$0F
JMP $F291 ;CLOSE
STARTSECTOR:
JSR RECEIVEBYTE
STA NEXTTRACK+1
JSR RECEIVEBYTE
STA LASTBYTE+1
LDA NEXTTRACK+1
BEQ LC16E
LDA #0
STA LASTBYTE+1
LC16E:
LDX #2
STX LOADCNT
LOADLOOP:
JSR RECEIVEBYTE
STA BUFFER,X
INX
CPX LASTBYTE+1
BNE LOADLOOP
RTS
RECEIVEBYTE:
LDA #14
STA $DD00
LC18D:
LDA $DD00
BPL LC18D
LC192:
LDA $D012
CMP #225
BCS LC192
LDA $D011
BMI LC192
LDA $D012
CMP #$31
BCC LC19F
AND #6
CMP #2
BEQ LC192
LC19F:
LDA #6
STA $DD00
JSR RTS
LDA ($00,X)
NOP
LDA $DD00
LSR
LSR
EOR $DD00
LSR
LSR
EOR $DD00
LSR
LSR
EOR $DD00
EOR #7
RTS
ME:
.TX "M-E"
.WO $0205
JSR $D00E
;LDA $07FC
;CMP #"M"
;BEQ FL1
LDA #0
JSR $D02F
LDA #$12
STA $0E
STA $0F
LDA #4
STA $F9
JSR $D586 ; $12/12 LESEN
FL1:
TRACKSFM:
LDA #"M" ; TRACK
STA $0E
SECTORSFM:
LDA #"S" ; SECTOR
STA $0F
JMP $07D0
MEENDE:
;; FR ram-dISK
;GETPOS:
;SEC
; SBC #1
; ASL
; TAY
; LDA TRACKPOS,Y
; STA REUPOS
; LDA TRACKPOS+1,Y
; STA REUPOS+1
; TXA
; CLC
; ADC REUPOS
; STA REUPOS
; BCC GETPOS1
; INC REUPOS+1
;GETPOS1:
;LDA #<RAMDISKBUFFER
; STA $DF02
; LDA #>RAMDISKBUFFER ; c64-mEMPOS
; STA $DF03
;
; LDA #0
; STA $DF04 ; reu-mEMPOS
; LDA REUPOS
; STA $DF05
; LDA REUPOS+1
; STA $DF06
;
; LDA #0
; STA $DF07
; LDA #1 ; lNGE
; STA $DF08
;
; LDA #$00
; STA $DF0A
;
; LDA #$FD
; STA $DF01
;
;LDA #2
; STA RAMDISKINDEX+1
;RTS
;
;TRACKPOS: ; bLOCKANFANG DER tRACKS 1-35
;.WO 0, 21, 42, 63, 84, 105, 126, 147, 168, 189, 210, 231, 252, 273, 294, 315
;.WO 336, 357, 376, 395, 414, 433, 452, 471, 490, 508, 526, 544, 562, 580, 598
;.WO 615, 632, 649, 666
.LA DLF6=55
.LA DLF7=56
.LA DLF8=57
.LA DLF9=58
.LA DLFA=59
.LA DLFB=60
.LA DLFC=61
.LA DLFD=62
.LA DLFE=63
.LA DLFF=64
;---------------------------------------
UNPACK:
LDX #$04
L101A:
JSR GETBYTE
STA DLFB,X
DEX
BPL L101A
LDA DLFC
CLC
ADC LOADADDRESS
STA DLFC
STA FILEEND
LDA DLFC+1
ADC LOADADDRESS+1
STA DLFC+1
STA FILEEND+1
LDY #0
UNPACKSTART:
TYA
STA DLF6
STY DLF8
L103B:
JSR L10A6
ROL
BNE L1043
BCC L104F
L1043:
ROL DLF8
JSR L10A6
BCS L103B
STA DLF7
JSR L10C2
L104F:
TYA
STY DLF9
STY DLFA
L1054:
JSR L10A6
ROL
BEQ L1063
BMI L1061
JSR L10A6
BCS L1054
L1061:
INC DLF6
L1063:
ADC #$02
STA DLF7
LDX #$02
L1069:
JSR L10A6
ROL DLF6
DEX
BNE L1069
L1071:
LDX DLF6
LDA TL1107,X
TAX
BEQ L1083
L1079:
JSR L10A6
ROL DLF9
ROL DLFA
DEX
BNE L1079
L1083:
LDA DLF6
AND #$03
BEQ L1093
INC DLF9
BNE L108F
INC DLFA
L108F:
DEC DLF6
BPL L1071
L1093:
LDA DLFC
ADC DLF9
STA DLF9
LDA DLFD
ADC DLFA
STA DLFA
INC DLF6
JSR L10CF
BEQ UNPACKSTART
L10A6:
ASL DLFB
BNE L10C1
CPY DLFE
BNE L10B4
CPY DLFF
BEQ L10BF
DEC DLFF
L10B4:
DEC DLFE
PHA
JSR GETBYTE
SEC
ROL
STA DLFB
.BY $24
L10BF:
.BY $68
PLA
L10C1:
RTS
L10C2:
SEC
LDA DLFE
SBC DLF7
STA DLFE
LDA DLFF
SBC DLF8
STA DLFF
L10CF:
LDY DLF7
BEQ L10E6
LDA DLFC
SEC
SBC DLF7
STA DLFC
BCS L10DE
L10DC:
DEC DLFD
L10DE:
JSR L10F1
SEI
INC 1
STA (DLFC),Y
DEC 1
CLI
DEY
BNE L10DE
L10E6:
CPY DLF8
BEQ L10F0
DEC DLFA
DEC DLF8
BPL L10DC
L10F0:
RTS
L10F1:
LDA DLF6
BEQ GETBYTE
SEI
INC 1
LDA (DLF9),Y
DEC 1
RTS
GETBYTE:
;LDA LOADSOURCE
; BEQ GETBYTE1541
;; ram-dISK
;RAMDISKINDEX: ; sELFMOD!
;LDA RAMDISKBUFFER
;INC RAMDISKINDEX+1
;BNE RAMDISKEND
;PHA
;TXA
;PHA
;TYA
;PHA
;LDA RAMDISKBUFFER
;LDX RAMDISKBUFFER+1
;JSR GETPOS
;PLA
;TAY
;PLA
;TAX
;PLA
;RAMDISKEND:
;RTS
;
;GETBYTE1541:
STX SAVEX
LDX LOADCNT
LDA BUFFER,X
PHA
INC LOADCNT
LDA LOADCNT
LASTBYTE:
CMP #0
BNE NSECENDE
NEXTTRACK:
LDA #0
BEQ NSECENDE
JSR STARTSECTOR
NSECENDE:
PLA
LDX SAVEX
RTS
TL1107:
.BY $04,$02,$02,$02,$05,$02,$02
.BY $03
.BY 0; (NTIG???)
CONVCOL4:
STY LUMCHANGE
AND #15 ; fARBE MASKIEREN
TAY
LDA COLTOLUM,Y ; hELLIGKEIT DER fARBE ERMITTELN
SEC
SBC LUMCHANGE ; hELLIGKEIT ERNIEDRIGEN
BCC CONVCOL4BLACK; uNTERLAUF, DANN SCHWARZ
TAY
LDA LUMTOCOL,Y ; PASSENDE fARBE HOLEN
LDY LUMCHANGE
RTS
CONVCOL4BLACK:
LDA #0
LDY LUMCHANGE
RTS
CONVCOL8:
STY LUMCHANGE
PHA
AND #15 ; fARBE MASKIEREN
TAY
LDA COLTOLUM,Y ; hELLIGKEIT DER fARBE ERMITTELN
SEC
SBC LUMCHANGE ; hELLIGKEIT ERNIEDRIGEN
BCC + ; uNTERLAUF, DANN SCHWARZ
TAY
LDA LUMTOCOL,Y ; PASSENDE fARBE HOLEN
.BY $2C
+:
LDA #0
STA FADELOGOSFM+1
PLA
LSR
LSR
LSR
LSR
TAY
LDA COLTOLUM,Y ; hELLIGKEIT DER fARBE ERMITTELN
SEC
SBC LUMCHANGE ; hELLIGKEIT ERNIEDRIGEN
BCC + ; uNTERLAUF, DANN SCHWARZ
TAY
LDA LUMTOCOL,Y ; PASSENDE fARBE HOLEN
.BY $2C
+:
LDA #0
ASL
ASL
ASL
ASL
FADELOGOSFM:
ORA #0
LDY LUMCHANGE
RTS
FADE:
LDY #0
FADE2:
STA $DA00,Y
INY
BNE FADE2
LDA #$20
FADE3:
DEY
BNE FADE3
SEC
SBC #1
BNE FADE3
RTS
FADEOUT:
; bLENDET EINEN tEXT IM tEXTFENSTER AUS
LDX #0
FADEOUT1:
LDA FADECOLORS,X
JSR FADE
INX
CPX #6
BNE FADEOUT1
RTS
FADEIN:
; bLENDET EINEN tEXT IM tEXTFENSTER EIN
LDX #5
FADEIN1:
LDA FADECOLORS,X
LDY #0
JSR FADE
DEX
BPL FADEIN1
; LUFT IN SETCOLRAM
SETCOLRAM:
LDX #0
STORECOLRAM2:
LDA #0
STA $D800,X
STA $D900,X
LDA #15
STA $DA00,X
STA $DB00,X
DEX
BNE STORECOLRAM2
.LA LINEMAL40=LINE*40 ; !!!
LDX #<LINEMAL40
XXX:
STA $D900,X
INX
BNE XXX
RTS
PRINTLOADING:
; dRUCKT loading INS tEXTFENSTER
LDX #<TEXTLOADING
LDY #>TEXTLOADING
; LUFT IN PRINT
PRINT:
STX PRINTZP
STY PRINTZP+1
LDY #8
PRINTFLIP:
LDA (PRINTZP),Y
STA RSCREEN+$028f,Y
DEY
BPL PRINTFLIP
RTS
TEXTLOADING:
; .BY $20,$0C,$0F,$01,$04,$09,$0E,$07,$20
.BR 9,$20
TEXTFLIP:
.BY $14,$15,$12,$0E,$20,$04,$09,$13,$0b
LUMTOCOL:
.BY 0,6,9,11,2,4,8,12,14,10,5,15,3,7,13,1
COLTOLUM:
.BY 0,15,4,12,5,10,1,13,6,2,9,3,7,14,8,11
COLTAB:
.BR 14,11
.BY 0,9,2,8,$0A,$0F,$0D,1
.BY $0D,$0F,$0A,8,2,9
COLTAB2:
.BY $0D,3,$0E,4,2,6
.BY 0,6,2,4,$0E,3,$0D,1
COLTAB3:
.BY 0,9,2,8,10,15,7,1
.BY 7,15,5,4,11,6
FADECOLORS:
; .BY 0,9,2,8,10,15
; .BY 0,6,11,4,10,11
; .BY 12,12,12,11,11,11
.BY 0,0,0,0,11,11
; .BY 12,11,6,0,6,11
; .BY 12,10,15,14,1,14,15,10,6,11
; .BY 12,15,1,15,6,11
MUSICTS:
.BY 28,0 ;3 "eTERNALIGHT" BY aGEMIXER
.BY 8,1 ;4 "bREATHE OF fIRE" BY aGEMIXER
.BY 28,7 ;5 "sCMITARS" BY gLENN rUNE gALLEFOSS
.BY 7,14 ;6 "sPRING" BY dA bLONDIE
.BY 7,0 ;7 "mIDNIGHT fLOWER" BY TRIDENT
.BY 8,0 ;8 "aNAESTHETICS" BY tRIDENT
.BY 7,1 ;9 "mR tHOMAS" BY tAKI
FILETAB:
.BR 4,0
.BR 4,0
.BR 4,0
.BR 4,0
.BR 4,0
.BY 25,8,27,2 ; EDITORIAL
.BY 17,9,27,2 ; REACTIONS
.BY 23,1,27,2 ; ADDRESS LIST
.BR 4,0
.BR 4,0
.BR 4,0
.BR 4,0
.BY 19,0,27,2 ; news PART 1
.BY 19,9,27,2 ; news PART 2
.BY 16,2,27,2 ; news PART 3
.BY 11,0,27,2 ; tHE cHARTS
.BY 20,8,27,2 ; tHE sCENE-POLL PART 1
.BY 15,0,27,2 ; tHE sCENE-POLL PART 2
.BY 17,0,27,2 ; tHE pROFILE OF... (<- DAS IST DAS iNTERVIEW!)
.BY 13,0,27,2 ; mAGREVIEW PART 1
.BY 13,9,27,2 ; mAGREVIEW PART 2
.BY 15,9,27,2 ; mAGS TODAY
.BY 21,8,27,2 ; tHE pARTY 8 - MUSICREVIEW
.BR 4,0
.BR 4,0
.BR 4,0
.BR 4,0
.BY 12,2,27,2 ; cOMMODORE-xxx-REPORT
.BY 24,1,27,2 ; rOLE DIARIES
.BY 25,0,27,2 ; #C-64 EVERYDAYLIFE
.BY 11,9,27,2 ; aDVERTISEMENT
.BY 10,2,27,2 ; mILLENNIUM PART 1
.BY 10,0,27,2 ; tAXES OR WHAT...? - EDITION 2
.BR 4,0
.BR 4,0
.BR 4,0
.BR 4,0
.BR 4,0
.BY 14,0,27,2 ; pARTYTALES 1: iNTRO
.BY 14,1,27,2 ; pARTYTALES 2: nOV'98
.BY 14,2,27,2 ; pARTYTALES 3: dEC'98
.BY 14,9,27,2 ; pARTYTALES 4: jAN'99
.BY 22,4,27,2 ; pARTYTALES 5: fEB'99
.BY 26,4,27,2 ; pARTYTALES 6: aPRIL'99
.BY 22,6,27,2 ; pARTYTALES 7: fUTURE'99
.BR 4,0
.BR 4,0
.BR 4,0
SINUS1:
.BY $00,$0C,$19,$25,$31,$3D,$49,$55
.BY $60,$6B,$75,$7F,$88,$91,$9A,$A1
.BY $A8,$AF,$B4,$B9,$BE,$C1,$C4,$C6
.BY $C7
SINUS2:
.BY $C7,$C7,$C6,$C4,$C1,$BE,$B9,$B4
.BY $AF,$A8,$A1,$9A,$91,$88,$7F,$75
.BY $6B,$60,$55,$49,$3D,$31,$25,$19
.BY $0C,$00
PFEILSPRITE:
.BY $80,$00,$00,$60,$00,$00,$78,$00
.BY $00,$2E,$00,$00,$37,$80,$00,$1B
.BY $E0,$00,$1D,$F8,$00,$0A,$FE,$00
.BY $0D,$7F,$80,$06,$BF,$E0,$07,$5E
.BY $18,$02,$A8,$00,$03,$50,$00,$01
.BY $A0,$00,$01,$E0,$00,$00,$C0,$00
.BY $00,$C0,$00,$00,$40,$00,$00,$40
.BY $00,$00,$20,$00,$00,$20,$00,$00
; .BY 0,0,0,0,$10,0,0,$38
; .BY 0,0,$7C,0,0,$FE,0,1
; .BY $FF,0,3,$FF,$80,7,$FF,$C0
; .BY $0F,$FF,$E0,0,$38,0,0,$38
; .BY 0,0,$38,0,0,$38,0,0
; .BY $38,0,0,$38,0,0,$38,0
; .BY 0,$38,0,0,$38,0,0,$38
; .BY 0,0,0,0,0,0,0,0
SPRITEDATA:
; .BR 6,$FF ; UNTEN
; .BR 3,$AA
; .BR 55,0
;
; .BY 0,0,0 ; OBEN
; .BR 24-3,$55
; .BR 3,$AA
; .BR 3,$FF
; .BR 34,0
;
; .BR 18,$FF ; bALKEN
; .BR 45,0
OSUBZP:
.WO 0
OSUBTAB:
.WO 0